Introduction to CI/CD and Tekton
Learn about Tekton and its core components.
We'll cover the following
What is CI/CD?#
Developers continually commit code in small increments (usually several times a day), which is then built and tested before it’s merged.
Continuous integration (CI) refers to our application’s automated building and testing on every new commit. Continuous integration works well with Agile methodologies so that developers work on incremental stories, and the code for those stories is merged incrementally into a shared folder/git repo. Continuous integration deals with packaging the code into an executable artifact, leaving out a key part of the software delivery process.
Continuous deployment (CD) is the final phase of the software delivery process. It automates the deployment of our software after the test and builds phases that are successful. Where and how the software is deployed depends on what type of infrastructure we’re deploying to.
A CI/CD pipeline is a set of processes that run when we change our code. It takes the code, builds it, runs the necessary test, and then deploys it to the desired environment or infrastructure.
Introduction to Tekton#
Tekton is a cloud-native framework for building CI/CD systems. It allows developers to build, test, and deploy across cloud providers and on-premise systems. Tekton installs and runs as an extension on a Kubernetes cluster and comprises a set of Kubernetes custom resources that define the building blocks we can use to create CI/CD pipelines.
Tekton is a complete ecosystem that consists of the following:
-
Tekton Pipelines: This is a set of Kubernetes custom resources that act as building blocks from which we can assemble CI/CD pipelines.
-
Tekton Triggers: This allows us to run pipelines based on events.
-
Tekton Dashboard: This is a web app for Tekton Pipelines that displays information about the execution of our pipelines.
-
Tekton CLI: This is a command-line interface built on top of the Kubernetes CLI used to interact with Tekton entities.
-
Tekton Operator: This is a Kubernetes extension that allows us to install, update, and remove Tekton on our Kubernetes cluster.
-
Tekton Catalog: This is a Git repository of high-quality, community-contributed Tekton Tasks and Pipelines ready for use in our cluster. We can access the Catalog via Tekton Hub, a web-based graphical interface.
Tekton components are portable and flexible, allowing for a high degree of flexibility. Tekton doesn’t come bundled with Kubernetes, so we need to install it in our cluster.
Wrap-up and Quiz
Tekton Installation